1. Technical Field
Embodiments of the present invention relate to data repositories, and more specifically, to tracking changes to data within heterogenous data repositories, and processing requests for data changes from consumers of those data repositories.
2. Discussion of the Related Art
Applications of enterprises accommodate data received from multiple data sources or repositories. A local copy of repository data is maintained by the applications in a local cache memory in order to provide faster response time or the ability to continue operating when the repository is unavailable. It is important for the applications to ensure that the local cache memory stores the latest and most recent data. For example, when an application has to make security related decisions, the application needs to utilize the latest or most recent data to ensure system integrity and security.
There are various factors that affect the ability of an application to maintain the most recent data. In particular, different applications need to cache different sets of data and, depending on the criticality of the data, applications may refresh the data at different frequencies. Further, data repositories may have different representations of the data, and the repository data can be modified by another application or by directly using a repository tool (e.g., Lightweight Directory Access Protocol (LDAP) browser). In addition, the ability to track changes to data may not be present in all data repositories being accessed. Accordingly, it may not be possible and practical for an application to query each data repository for changed data. This task becomes even more complicated since different data repositories may have different mechanisms to track the data changes or lack a change tracking mechanism.